bitkeeper revision 1.739 (403a2269-JWq-jre7gx2LoYk7KxayQ)
authorsmh22@tempest.cl.cam.ac.uk <smh22@tempest.cl.cam.ac.uk>
Mon, 23 Feb 2004 15:55:21 +0000 (15:55 +0000)
committersmh22@tempest.cl.cam.ac.uk <smh22@tempest.cl.cam.ac.uk>
Mon, 23 Feb 2004 15:55:21 +0000 (15:55 +0000)
support for weird-ass scsi controller device nodes

BitKeeper/etc/ignore
xenolinux-2.4.25-sparse/arch/xeno/drivers/block/xl_vbd.c

index 8f37a6a5346a4089b529950dc7ce628e9df80abb..902759334104fce47099de852e8270b522f00388 100644 (file)
@@ -542,3 +542,4 @@ TAGS
 tools/xc/lib/xc_netbsd_build.o
 xen/arch/i386/pdb-stub.o
 xen/common/debug-linux.o
+xen/drivers/char/serial.o
index 0677096b8480430c3106663fc93550d16816a149..cf39c5d71af29d592747d13e71010822d80cc4c8 100644 (file)
@@ -122,20 +122,30 @@ static int xlvbd_init_device(xen_disk_t *xd)
         goto out;
     }
 
-    if ( is_ide )
-    { 
+    if ( is_ide ) {
+
        major_name = XLIDE_MAJOR_NAME; 
        max_part   = XLIDE_MAX_PART;
-    }
-    else if ( is_scsi )
-    { 
+
+    } else if ( is_scsi ) {
+
        major_name = XLSCSI_MAJOR_NAME;
        max_part   = XLSCSI_MAX_PART;
-    }
-    else
-    { 
+
+    } else if (XD_VIRTUAL(xd->info)) {
+
        major_name = XLVBD_MAJOR_NAME;
        max_part   = XLVBD_MAX_PART;
+
+    } else { 
+
+        /* SMH: hmm - probably a CCISS driver or sim; assume CCISS for now */
+       printk(KERN_ALERT "Assuming device %02x:%02x is CCISS/SCSI\n", 
+              major, minor);
+       is_scsi    = 1; 
+       major_name = "cciss"; 
+       max_part   = XLSCSI_MAX_PART;
+
     }
     
     partno = minor & (max_part - 1);